/**
 * Created by Administrator on 2019/3/21 0021.
 */
/*公共方法开始*/
/**
 * ajax 请求方法
 * @param url  地址
 * @param formData 参数
 * @param callback 返回到函数
 */
function ajaxPost(url,formData,callback) {
    $.ajax({
        url: "/"+url,
        type: "POST",
        data: formData,
        timeout: 200000, //通过timeout属性，设置超时时间
        contentType: false,
        processData: false,
        success: function (data) {
            if (typeof callback === 'function') {
                callback(data);
            }
        },
        error: function () {
        }
    });
};

/**
 * ajax 返回对应值
 * @param url  地址
 * @param formData 参数
 * @returns {*} 返回查询值
 */
function getAjaxPostData(url,formData) {
    var ajaxData;
    $.ajax({
        url: url,
        type: "POST",
        data: formData,
        timeout: 200000, //通过timeout属性，设置超时时间
        contentType: false,
        processData: false,
        async:false,//这里选择异步为false，那么这个程序执行到这里的时候会暂停，等待数据加载完成后才继续执行
        success: function (data) {

            ajaxData = data;
        },
        error: function (e) {

        }
    });
return ajaxData;
}



//获取位置
function getMaPositionWork(data) {
   /* console.log("jsapi_ticket:"+ data.jsapi_ticket);
    console.log("nonceStr:"+data.nonceStr);
    console.log("timestamp:"+data.timestamp);
    console.log("signature:"+data.signature);*/
    console.log("appId:"+data.appId );
    wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来
        appId: data.appId , // 必填，公众号的唯一标识
        timestamp: data.timestamp, // 必填，生成签名的时间戳
        nonceStr: data.nonceStr, // 必填，生成签名的随机串
        signature: data.signature,// 必填，签名，见附录1
        jsApiList: [
            "openLocation"
        ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });
    wx.ready(function () {
        getLocation();
        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。

    });

    wx.error(function (res) {
        //获取不到位置默认是《交大充电站》
        console.log('获取位置失败默认《交大充电站》longitude:116.344546|latitude:39.950779');
        $("#collectionlongitude").val("116.344546");
        $("#collectionlatitude").val("39.950779");
       // getLocation();
       // alert("err:" + res.val());
    });
};

function getLocation()
{
    console.log('调用成功-----1');
    wx.getLocation({
        type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
        success: function (res) {
            //展示地图
            initShowMap(res);
        },
        cancel: function (res) {
            console.log(res);
        },
        fail: function(res){
            console.log('调用失败展示默认地图');
            initShowMap(res);
            console.log(res);
        }
    });
};
/**
 * 初始化展示地图
 */
function initShowMap(res) {
    var latitude = null; // 纬度，浮点数，范围为90 ~ -90
    var longitude = null; // 经度，浮点数，范围为180 ~ -180。
    if(res.latitude != undefined){
        latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
        longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
    }else {
        latitude = "39.950779"; // 纬度，浮点数，范围为90 ~ -90
        longitude = "116.344546"; // 经度，浮点数，范围为180 ~ -180。
    }
    $("#collectionlongitude").val(longitude);
    $("#collectionlatitude").val(latitude);
    /*var speed = res.speed; // 速度，以米/每秒计
     var accuracy = res.accuracy; // 位置精度
     console.log("纬度:"+latitude+"经度："+longitude+"速度："+speed+"位置精度："+accuracy);*/
    //初始化地图信息
    var map = new AMap.Map("mapContainer", {
        resizeEnable: true,
        center: [longitude,latitude],
        zoom: 16
    });
    //地图打点
    AMapUI.loadUI(['overlay/SimpleInfoWindow'], function(SimpleInfoWindow) {
        //获取所有站信息
        var formCollectionLately = new FormData();
        formCollectionLately.append("url","");
        var  chargingstationData =   getAjaxPostData('chargingstationList',formCollectionLately);
        for (var i = 0; i < chargingstationData.length; i++) {
            var obj = chargingstationData[i];
            //console.log(obj.longitude+"------------"+obj.latitude);

            var marker=  new AMap.Marker({
                map: map,
                icon: new AMap.Icon({
                    image: "./img/pileMarking.png",
                    size: new AMap.Size(100, 100),
                    imageSize: new AMap.Size(40,40)//图标大小
                }),
                position: [obj.longitude, obj.latitude],
                offset: new AMap.Pixel(-13, -30)
            });

            //marker 点击时打开
            AMap.event.addListener(marker, 'click', function(e) {
                // alert("充电站空闲中"+e);
            });

        }
        new AMap.Marker({
            map: map,
            icon: new AMap.Icon({
                image: "./images/wx_map_taskLocal.png",
                size: new AMap.Size(100, 100),
                imageSize: new AMap.Size(40,40)//图标大小
            }),
            position: [longitude,latitude],
            offset: new AMap.Pixel(-13, -30)
        });
        //openInfoWin();
    });
}
/*公共方法结束*/

function weiXinInMap(data) {
    console.log("jsapi_ticket"+ data.jsapi_ticket);
    console.log("nonceStr"+data.nonceStr);
    console.log("timestamp"+data.timestamp);
    console.log("signature"+data.signature);
    console.log("appId"+data.appId );
    wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来
        appId: data.appId , // 必填，公众号的唯一标识
        timestamp: data.timestamp, // 必填，生成签名的时间戳
        nonceStr: data.nonceStr, // 必填，生成签名的随机串
        signature: data.signature,// 必填，签名，见附录1
        jsApiList: [
            "openLocation"
        ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });
    wx.ready(function () {
        funOpenLocation(data.longitude,data.latitude,data.chargingstationname,data.chargingstationaddress);
        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
        console.log('调用成功');
    });

    wx.error(function (res) {
        alert("err:" + res);
    });
};

//打开地图
function funOpenLocation(longitude, latitude,chargingstationname,chargingstationaddress)
{
    var id=0;
    var dataArray = [[longitude, latitude, chargingstationname,chargingstationaddress]];
    wx.openLocation({
        latitude: dataArray[id][1], // 纬度，浮点数，范围为90 ~ -90
        longitude: dataArray[id][0], // 经度，浮点数，范围为180 ~ -180。
        name: dataArray[id][2], // 位置名
        address: dataArray[id][3], // 地址详情说明
        scale: 18, // 地图缩放级别,整形值,范围从1~28。默认为最大
        infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
    });
}

function getProjectName() {
    var projectName= null;
    //获取当前网址，如：
    var curWwwPath=window.document.location.href;

//获取主机地址之后的目录如：/Tmall/index.jsp
    var pathName=window.document.location.pathname;
    var pos=curWwwPath.indexOf(pathName);

//获取主机地址，如：//localhost:8080
    var localhostPaht=curWwwPath.substring(0,pos);

//获取带"/"的项目名，如：/Tmall
      projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);

    //console.log(projectName.replace("/",""));
   return projectName.replace("/","");
}
